<!DOCTYPE html>
<html lang="en">
  <head><meta name="generator" content="Hexo 3.9.0">
    <meta charset="utf-8">

    <title>easy java document | easy-java </title>
    <meta name="description" content>
    <meta name="viewport" content="width=device-width, initial-scale=1">

    

    <!-- fonts -->
    <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700" rel="stylesheet">
    <link href="//fonts.googleapis.com/css?family=Ubuntu:300,400,500,600,700" rel="stylesheet">

    <!-- stylesheets -->
    <link rel="stylesheet" href="/ejdoc/style/doc.css">

    <!-- favicon -->
    <link rel="icon" href="/ejdoc/images/favicon.ico">

    

  </head>
  <body>

   <script>window.__INITIAL_STATE__ = {"page":{"title":"easy-java","path":"index.html"},"data":{"navigation":{"logo":{"text":"Easy Java","type":"link","path":"index.html"},"main":[{"text":"工作流与业务流集合","type":"link","path":"wf3.html"},{"text":"一对多关联V2.0","type":"link","path":"o2m.html"}]},"navigation.yaml":"{\n  \"logo\": {\n    \"text\": \"Easy Java\",\n    \"type\": \"link\",\n    \"path\": \"index.html\"\n  },\n  \"main\": [\n    {\n        \"text\": \"如何让你的项目快人N步?\",\n        \"type\": \"link\",\n        \"path\": \"index.html\"\n    },\n    {\n        \"text\": \"起步（从无到有）\",\n        \"type\": \"link\",\n        \"path\": \"build-code.html\"\n    },\n    {\n        \"text\": \"项目演示地址\",\n        \"type\": \"link\",\n        \"path\": \"show.html\"\n    },\n    {\n        \"text\": \"安装\",\n        \"type\": \"link\",\n        \"path\": \"install.html\"\n    },\n    {\n        \"text\": \"功能介绍\",\n        \"type\": \"link\",\n        \"path\": \"function1.html\"\n    },\n    {\n        \"text\": \"动态工作流-内置表单\",\n        \"type\": \"link\",\n        \"path\": \"workflow1.html\"\n    },\n    {\n        \"text\": \"动态工作流-外置表单\",\n        \"type\": \"link\",\n        \"path\": \"workflow2.html\"\n    },\n    {\n        \"text\": \"分布式定时任务\",\n        \"type\": \"link\",\n        \"path\": \"timer.html\"\n    },\n    {\n        \"text\": \"升级日志\",\n        \"type\": \"link\",\n        \"path\": \"log-20200517.html\"\n    },\n    {\n        \"text\": \"计划\",\n        \"type\": \"link\",\n        \"path\": \"future.html\"\n    },\n    {\n        \"text\": \"有Bug及时发我完善\",\n        \"type\": \"label\"\n    }\n  ]\n}\n"},"config":{"timezone":"UTC","root":"/ejdoc/","time_format":"HH:mm:ss","theme":"../node_modules/hexo-theme-doc","theme_config":{"swagger_ui":{"version":2,"permalinks":true,"api_explorer":true,"download":"Download specification","show_extensions":false,"deep_linking":true,"display_operation_id":false,"doc_expansion":"none"},"search":{"skip":false,"background":false,"route":"/lunr.json"},"favicon":"images/favicon.ico"}}}</script>

    <div id="react-navigation-root"><div class="doc-navigation" data-reactroot><nav class="doc-navbar"><a href="/ejdoc/index.html" class="doc-navbar__logo"><img src="/ejdoc/images/logo.png" class="doc-navbar__logo__img"><span class="doc-navbar__logo__text">Easy Java</span></a><i class="dc-icon dc-icon--close dc-icon--interactive doc-sidebar-close doc-navbar__sidebar-close doc-navbar__sidebar-close--desktop"></i><i class="dc-icon dc-icon--menu dc-icon--interactive doc-sidebar-toggle doc-navbar__sidebar-toggle"></i></nav><nav class="doc-sidebar"><div class="doc-sidebar__vertical-menu"><i class="dc-icon dc-icon--menu dc-icon--interactive doc-sidebar-toggle doc-sidebar-toggle--primary doc-sidebar__vertical-menu__item"></i><i class="dc-icon dc-icon--search dc-icon--interactive doc-sidebar__vertical-menu__item doc-sidebar__vertical-menu__item--primary"></i></div><div class="doc-sidebar-content"><div class="doc-sidebar__search-form"></div><ul class="doc-sidebar-list"></ul></div></nav></div></div>
    <div class="doc-content">
  <div class="dc-page">
    <div class="dc-card">
      <div id="react-search-results-root"></div>
      <div id="page-content" class="doc-formatting">
        <h1 id="如何让你的项目快人N步"><a href="#如何让你的项目快人N步" class="headerlink" title="如何让你的项目快人N步?"></a>如何让你的项目快人N步?</h1><pre><code>该篇主要展示系统能自动生成哪些功能？ 是如何提高开发速度的，同时又不失系统灵活性。
本项目是基于最新前端技术Vue、微服务架构SpringCloud打造的，源码自动生成平台。
提供功能有：
1，前后端分离;
2，动态预览：通过配置模板，动态生成预览界面；简单列表及报表功能可直接使用动态预览功能，无需生成源码;
3，多套源码模板：添加表单、简单列表、行内编辑列表、复杂列表（支持用户自定义布局）、树、树表、侧边日历查询、侧边树查询、主从表;
4，前端源码：基于某大牛的开源项目打造：vue-element-admin;
5，后端源码：SpringBoot + MybatisPlus；具体的以后单独开章节聊。
</code></pre><h2 id="三分钟定乾坤"><a href="#三分钟定乾坤" class="headerlink" title="三分钟定乾坤"></a>三分钟定乾坤</h2><pre><code>有图有真相，下图演示的是，不费你一兵一足，全由系统自动帮你搞定的功能。
</code></pre><p><img src="./images/1.gif" width="1000"></p>
<h2 id="所见即所得"><a href="#所见即所得" class="headerlink" title="所见即所得"></a>所见即所得</h2><p>通过动态预览设计界面，可直接生成相应源码。<br>接着上图说：<br><strong>背景知识：</strong><br>以部门管理为例，部门表名是：tmpt_auth_dept。<br><strong>对上图分析：</strong><br>菜单栏由预览和源码二个一级菜单组成。预览菜单是动态生成的列表，由数据库控制布局。<br>点击相应预览菜单上的生成源码按钮，将在源码一级菜单下生成一个以表名命名的二级菜单，二级菜单中默认提供了多个源码文件。<br>源码文件有：添加表单、简单列表、复杂列表（支持用户自定义布局）、行内编辑列表、树、树表、侧边日历查询、侧边树查询、主从表;<br><strong>预览菜单功能：</strong><br>1，动态调整列表宽度；<br>2，动态调整列表左右位置；<br>3，调整查询条件；<br>4，调整可显示列表列；<br>5，列冻结；<br>6，指定合计列；<br>7，配置是否生成树、主从表、及相关子表名称。<br><strong>源码功能：</strong><br>前端源码是基于Vue组件实现，说个核心的列表，ComplexList；<br>ComplexList（复杂列表）: 该页面提供用户级页面设置功能，由用户自定义，显示哪几项查询条件，列表显示哪几列，是否显示展开行等功能，用户布局数据自动同步到服务器； 如下图所示。<br><img src="./images/complex-list.png" width="1000"></p>
<pre><code>侧边查询，都是由简单组件组装而成，代码简洁，如侧边树查询列表，由部门树与用户信息列表组成，代码如下：
</code></pre><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line">&lt;template&gt;</span><br><span class="line">  &lt;el-container &gt;</span><br><span class="line">    &lt;el-aside style=<span class="string">"width:380px; background-color: white"</span>&gt;</span><br><span class="line">      &lt;tree v-model=<span class="string">"row"</span> :isModule=<span class="string">"true"</span>&gt;&lt;/tree&gt;</span><br><span class="line">    &lt;/el-aside&gt;</span><br><span class="line">    &lt;el-container&gt;</span><br><span class="line">      &lt;el-main&gt;</span><br><span class="line">        &lt;list :parentRow=<span class="string">"row"</span> style=<span class="string">"padding: 0px;"</span>/&gt;</span><br><span class="line">      &lt;/el-main&gt;</span><br><span class="line">    &lt;/el-container&gt;</span><br><span class="line">  &lt;/el-container&gt;</span><br><span class="line">&lt;/template&gt;</span><br><span class="line">&lt;script&gt;</span><br><span class="line">import Tree from <span class="string">'./tree.vue'</span>   </span><br><span class="line">import List from <span class="string">'../tmptAuthUser/complex-list-line-edit.vue'</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">export</span> default &#123;</span><br><span class="line">    name: <span class="string">'TmptAuthDept-AsideTree'</span>,</span><br><span class="line">    components: &#123;Tree, List&#125;,</span><br><span class="line">    <span class="function"><span class="title">data</span></span>() &#123;</span><br><span class="line">        <span class="built_in">return</span> &#123;</span><br><span class="line">          row: &#123;&#125;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line">&lt;/script&gt;</span><br><span class="line">&lt;style&gt;</span><br><span class="line">&lt;/style&gt;</span><br></pre></td></tr></table></figure>
<pre><code>侧边树查询列表，界面如下：
</code></pre><p><img src="./images/aside-tree.png" width="1000"></p>

        <div id="react-support-footer-root"></div>
      </div>
    </div>
  </div>
</div>

    


    

    <!-- js vendors -->
    <script src="//code.jquery.com/jquery-3.2.1.min.js" crossorigin="anonymous"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/lunr.js/2.1.0/lunr.min.js"></script>

    <!-- js source  -->
    <script src="/ejdoc/script/doc.js"></script>

    

  </body>
</html>
